package initialize

import (
	"github.com/gin-gonic/gin"
	"k8soperation/global"
	"k8soperation/internal/app/routers"
)

type injector interface {
	Inject(router *gin.RouterGroup)
}

func (s *Engine) injectRouterGroup(router *gin.RouterGroup) {

	//api := router.Group("/api") 表示在已有的分组基础上，再加一个 /api 前缀。
	//如果 router 是根（/），那最终路径就是 /api/...。
	//如果 router 已经是 /v1，那最终路径是 /v1/api/...。
	api := router.Group("/api")

	routersList := []injector{
		//&routers.HelloWorldRouter{},
		//或者用构造函数 NewHelloWorldRouter(...)
		routers.NewHelloWorldRouter(),
	}

	// 若非生产环境，添加 Debug 路由模块
	if global.ServerSetting.RunMode != "release" {
		routersList = append(routersList, routers.NewDebugRouter())
	}

	for _, r := range routersList {
		r.Inject(api)
	}
}
